<feed xmlns='http://www.w3.org/2005/Atom'>
<title>{graveyard}/qt-labs/vscodeext.git/qt-qml/src, branch dev</title>
<subtitle>Qt extension for Visual Studio Code
</subtitle>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/{graveyard}/qt-labs/vscodeext.git/'/>
<entry>
<title>Refactor communication between core and extensions</title>
<updated>2024-12-12T11:07:09+00:00</updated>
<author>
<name>Orkun Tokdemir</name>
<email>orkun.tokdemir@qt.io</email>
</author>
<published>2024-12-05T15:43:16+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/{graveyard}/qt-labs/vscodeext.git/commit/?id=b02c70db6ba873c3bea446eee15dae63759667a8'/>
<id>b02c70db6ba873c3bea446eee15dae63759667a8</id>
<content type='text'>
In the previous implementation, the extensions were using only one way
to communicate with each other, which was getting a notification when a
config value was set or changed. This was problematic on startup because
there was no order in which the extensions were activated and when
messages were handled. b5bf26ac084823758be18453bb61579fefceb57c
partially fixed this issue by adding a way to wait for `qt-cpp` to be
ready, but it was still not enough. The extension should read config
values when they are ready, not when messages are sent from other
extensions.

Remove the `lazy` initialization parameter in `Project` classes. Instead
of using that parameter, we remove the firing event from `addProject()`
and only fire when the project is added after startup. This way, we
don't need the `lazy` parameter anymore.

Since `processMessage()` is not used during startup, this commit also
fixes QTBUG-131702 on the extension side.

qt-lib:

This commit changes `QtWorkspaceConfigMessage` and removes values in it.
`QtWorkspaceConfigMessage` is now used only to notify that a value or
values were set. The value `CoreApi` can be accessed by `getValue`
and `setValue`.

* Update the `CoreApi` interface
* Add `setValue`
* Rename `update` to `notify`
* Remove `get&lt;T&gt;()` from `QtWorkspaceConfigMessage`

qt-core:

* Remove the internal checking mechanism to understand if a value was
set or changed. Instead, just store values.

qt-cpp:

* Update `processMessage()` for the new usage.
* Initialize config values explicitly during startup.

qt-qml:

* Update `processMessage()` for the new usage.
* Separate starting `qmlls` from the constructor.
 It should be started when the conditions are met.
* Get config values and update parameters inside `onProjectAdded()`

Task-number: QTBUG-131702
Change-Id: If9831ea1257d123f777e6ae2afb92f33942dd3da
Reviewed-by: Marcus Tillmanns &lt;marcus.tillmanns@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In the previous implementation, the extensions were using only one way
to communicate with each other, which was getting a notification when a
config value was set or changed. This was problematic on startup because
there was no order in which the extensions were activated and when
messages were handled. b5bf26ac084823758be18453bb61579fefceb57c
partially fixed this issue by adding a way to wait for `qt-cpp` to be
ready, but it was still not enough. The extension should read config
values when they are ready, not when messages are sent from other
extensions.

Remove the `lazy` initialization parameter in `Project` classes. Instead
of using that parameter, we remove the firing event from `addProject()`
and only fire when the project is added after startup. This way, we
don't need the `lazy` parameter anymore.

Since `processMessage()` is not used during startup, this commit also
fixes QTBUG-131702 on the extension side.

qt-lib:

This commit changes `QtWorkspaceConfigMessage` and removes values in it.
`QtWorkspaceConfigMessage` is now used only to notify that a value or
values were set. The value `CoreApi` can be accessed by `getValue`
and `setValue`.

* Update the `CoreApi` interface
* Add `setValue`
* Rename `update` to `notify`
* Remove `get&lt;T&gt;()` from `QtWorkspaceConfigMessage`

qt-core:

* Remove the internal checking mechanism to understand if a value was
set or changed. Instead, just store values.

qt-cpp:

* Update `processMessage()` for the new usage.
* Initialize config values explicitly during startup.

qt-qml:

* Update `processMessage()` for the new usage.
* Separate starting `qmlls` from the constructor.
 It should be started when the conditions are met.
* Get config values and update parameters inside `onProjectAdded()`

Task-number: QTBUG-131702
Change-Id: If9831ea1257d123f777e6ae2afb92f33942dd3da
Reviewed-by: Marcus Tillmanns &lt;marcus.tillmanns@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>qt-qml: qt-ui: Wait until qt-cpp is activated</title>
<updated>2024-12-09T13:17:51+00:00</updated>
<author>
<name>Orkun Tokdemir</name>
<email>orkun.tokdemir@qt.io</email>
</author>
<published>2024-12-05T10:37:12+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/{graveyard}/qt-labs/vscodeext.git/commit/?id=1249ef41807b826884e4059f4c4706a1980fbe2a'/>
<id>1249ef41807b826884e4059f4c4706a1980fbe2a</id>
<content type='text'>
During the startup,`qt-qml` and `qt-ui` should wait until `qt-cpp`` sets
the initial configuration values. Otherwise, qt-qml qt-ui may not be
able to access the correct configuration values.

Change-Id: I974a0e5e7e9cb541ea4a382ac85c303b6b59646f
Reviewed-by: Marcus Tillmanns &lt;marcus.tillmanns@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
During the startup,`qt-qml` and `qt-ui` should wait until `qt-cpp`` sets
the initial configuration values. Otherwise, qt-qml qt-ui may not be
able to access the correct configuration values.

Change-Id: I974a0e5e7e9cb541ea4a382ac85c303b6b59646f
Reviewed-by: Marcus Tillmanns &lt;marcus.tillmanns@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>qt-qml: Order qmlls assets by creation date before comparing</title>
<updated>2024-12-06T13:36:01+00:00</updated>
<author>
<name>Orkun Tokdemir</name>
<email>orkun.tokdemir@qt.io</email>
</author>
<published>2024-11-28T12:51:19+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/{graveyard}/qt-labs/vscodeext.git/commit/?id=b2d47747fdd3c853333137e58cf19b8b074dc72d'/>
<id>b2d47747fdd3c853333137e58cf19b8b074dc72d</id>
<content type='text'>
When multiple assets exist for the same platform on
https://qtccache.qt.io/QMLLS/LatestRelease, use the newest.

Change-Id: I0e129b40bd8466fcc1d654fc5f02dd73205eab5d
Reviewed-by: Marcus Tillmanns &lt;marcus.tillmanns@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When multiple assets exist for the same platform on
https://qtccache.qt.io/QMLLS/LatestRelease, use the newest.

Change-Id: I0e129b40bd8466fcc1d654fc5f02dd73205eab5d
Reviewed-by: Marcus Tillmanns &lt;marcus.tillmanns@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>qt-qml: Add reset command</title>
<updated>2024-11-29T10:48:09+00:00</updated>
<author>
<name>Orkun Tokdemir</name>
<email>orkun.tokdemir@qt.io</email>
</author>
<published>2024-11-28T14:35:23+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/{graveyard}/qt-labs/vscodeext.git/commit/?id=fb11b08307f7ad7df0e8db85e00cb7bfc6f8c13b'/>
<id>fb11b08307f7ad7df0e8db85e00cb7bfc6f8c13b</id>
<content type='text'>
Fixes: VSCODEEXT-98
Change-Id: I46bdef0ef83632be50206e1d1c8812cbbe22d9a8
Reviewed-by: Marcus Tillmanns &lt;marcus.tillmanns@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes: VSCODEEXT-98
Change-Id: I46bdef0ef83632be50206e1d1c8812cbbe22d9a8
Reviewed-by: Marcus Tillmanns &lt;marcus.tillmanns@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Dispose event handlers and language client when the project is closed</title>
<updated>2024-11-28T10:06:06+00:00</updated>
<author>
<name>Orkun Tokdemir</name>
<email>orkun.tokdemir@qt.io</email>
</author>
<published>2024-11-22T10:16:31+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/{graveyard}/qt-labs/vscodeext.git/commit/?id=582654890f809cbea73c5a37758f847c1526ae73'/>
<id>582654890f809cbea73c5a37758f847c1526ae73</id>
<content type='text'>
Since event handlers are not disposed properly, they are still active
when the project is closed. This can cause those handlers to be called
after the project is closed, which can lead to errors.

* Dispose project managers inside `Deactivate()`

Change-Id: Idd7b8548f7c16c41c0e4fd7052fa7ae988678bc4
Reviewed-by: Joerg Bornemann &lt;joerg.bornemann@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since event handlers are not disposed properly, they are still active
when the project is closed. This can cause those handlers to be called
after the project is closed, which can lead to errors.

* Dispose project managers inside `Deactivate()`

Change-Id: Idd7b8548f7c16c41c0e4fd7052fa7ae988678bc4
Reviewed-by: Joerg Bornemann &lt;joerg.bornemann@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>qt-qml: Add `doNotAskForQmllsDownload`</title>
<updated>2024-11-28T10:06:00+00:00</updated>
<author>
<name>Orkun Tokdemir</name>
<email>orkun.tokdemir@qt.io</email>
</author>
<published>2024-11-25T12:39:20+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/{graveyard}/qt-labs/vscodeext.git/commit/?id=cf43334de14a49e5ec419fcf25655821c5ba3da6'/>
<id>cf43334de14a49e5ec419fcf25655821c5ba3da6</id>
<content type='text'>
When either users don't want to use the QML Language Server or they have
`qt-qml.qmlls.customExePath` set, showing the download prompt could be
annoying. This commit adds a new setting `doNotAskForQmllsDownload` to
disable the download prompt.

Change-Id: I5fb0712c94e97ad91f3f0a52e6176a12dffc7712
Reviewed-by: Leena Miettinen &lt;riitta-leena.miettinen@qt.io&gt;
Reviewed-by: Joerg Bornemann &lt;joerg.bornemann@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When either users don't want to use the QML Language Server or they have
`qt-qml.qmlls.customExePath` set, showing the download prompt could be
annoying. This commit adds a new setting `doNotAskForQmllsDownload` to
disable the download prompt.

Change-Id: I5fb0712c94e97ad91f3f0a52e6176a12dffc7712
Reviewed-by: Leena Miettinen &lt;riitta-leena.miettinen@qt.io&gt;
Reviewed-by: Joerg Bornemann &lt;joerg.bornemann@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>qt-cpp: qt-qml: Add build directory</title>
<updated>2024-11-25T13:14:44+00:00</updated>
<author>
<name>Orkun Tokdemir</name>
<email>orkun.tokdemir@qt.io</email>
</author>
<published>2024-11-20T15:39:02+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/{graveyard}/qt-labs/vscodeext.git/commit/?id=5928f1e4df631d0edce29e684de7c68b4ab1d4a7'/>
<id>5928f1e4df631d0edce29e684de7c68b4ab1d4a7</id>
<content type='text'>
* Pass the build directory to qmlls with `-b`
* Detect the build directory change from the CMake extension

Change-Id: I8279b444036e174762f9d469fd8b4abdaba66e83
Reviewed-by: Marcus Tillmanns &lt;marcus.tillmanns@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Pass the build directory to qmlls with `-b`
* Detect the build directory change from the CMake extension

Change-Id: I8279b444036e174762f9d469fd8b4abdaba66e83
Reviewed-by: Marcus Tillmanns &lt;marcus.tillmanns@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix wrong value evaluation for `processMessage()`</title>
<updated>2024-11-22T09:32:08+00:00</updated>
<author>
<name>Orkun Tokdemir</name>
<email>orkun.tokdemir@qt.io</email>
</author>
<published>2024-11-20T17:31:08+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/{graveyard}/qt-labs/vscodeext.git/commit/?id=121abdb88f6b79f8e8d247212f76d06cadcf3c91'/>
<id>121abdb88f6b79f8e8d247212f76d06cadcf3c91</id>
<content type='text'>
When only the value is checked whether it is undefined or not, it
doesn't give us the correct result because the value either can be
set to undefined or not set at all. We get undefined in both cases.
We should check the key is set in the message first instead.

Change-Id: Ic4c17e96c3975adcbc49eb82e7b1999d3dcec851
Reviewed-by: Marcus Tillmanns &lt;marcus.tillmanns@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When only the value is checked whether it is undefined or not, it
doesn't give us the correct result because the value either can be
set to undefined or not set at all. We get undefined in both cases.
We should check the key is set in the message first instead.

Change-Id: Ic4c17e96c3975adcbc49eb82e7b1999d3dcec851
Reviewed-by: Marcus Tillmanns &lt;marcus.tillmanns@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>qt-qml: Add `-I` and `-E` options to qmlls</title>
<updated>2024-11-21T13:32:52+00:00</updated>
<author>
<name>Orkun Tokdemir</name>
<email>orkun.tokdemir@qt.io</email>
</author>
<published>2024-11-11T10:55:41+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/{graveyard}/qt-labs/vscodeext.git/commit/?id=436b57b3d76bad2a8de59b67446c3d8171329162'/>
<id>436b57b3d76bad2a8de59b67446c3d8171329162</id>
<content type='text'>
* Add message handling to `qt-qml` extension
* Pass qml import obtained from either `qtpaths` or Qt installation
* Add `additionalImportPaths` to get additional import paths from the
user.
* Add `useQmlImportPathEnvVar` to pass `-E` option to qmlls.

Fixes: VSCODEEXT-104
Change-Id: Ic84bf7a6834d2d84b738e759a69c27ba47bf1fc5
Reviewed-by: Leena Miettinen &lt;riitta-leena.miettinen@qt.io&gt;
Reviewed-by: Marcus Tillmanns &lt;marcus.tillmanns@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Add message handling to `qt-qml` extension
* Pass qml import obtained from either `qtpaths` or Qt installation
* Add `additionalImportPaths` to get additional import paths from the
user.
* Add `useQmlImportPathEnvVar` to pass `-E` option to qmlls.

Fixes: VSCODEEXT-104
Change-Id: Ic84bf7a6834d2d84b738e759a69c27ba47bf1fc5
Reviewed-by: Leena Miettinen &lt;riitta-leena.miettinen@qt.io&gt;
Reviewed-by: Marcus Tillmanns &lt;marcus.tillmanns@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>qt-core: qt-qml: Use optional chaining to reduce indentation</title>
<updated>2024-11-19T09:51:24+00:00</updated>
<author>
<name>Orkun Tokdemir</name>
<email>orkun.tokdemir@qt.io</email>
</author>
<published>2024-11-15T14:14:38+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/{graveyard}/qt-labs/vscodeext.git/commit/?id=7595e10f8c2c1105f5097e0cd65bf9ce43371959'/>
<id>7595e10f8c2c1105f5097e0cd65bf9ce43371959</id>
<content type='text'>
Change-Id: I396aaf055f35c7c67ec7c760c61a16b12c8c322b
Reviewed-by: Marcus Tillmanns &lt;marcus.tillmanns@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I396aaf055f35c7c67ec7c760c61a16b12c8c322b
Reviewed-by: Marcus Tillmanns &lt;marcus.tillmanns@qt.io&gt;
</pre>
</div>
</content>
</entry>
</feed>
